package com.bamboohat;

import java.util.ArrayList;
import java.util.List;

/**
 * VM args : -XX:PermSize=10M -XX:MaxPermSize=10M
 * String.intern() 是一个Native方法
 * 作用: 如果字符串常量池中已经包含一个等于次String对象的字符串,则返回代表池中这个字符串的String对象
 * 否则, 将此String对象包含的字符串添加到常量池,并且返回此String对象的引用
 */
public class RuntimeConstantPoolOOM1 {

    public static void main(String[] args) {
        List<String> list = new ArrayList<String>();
        int i = 0;
        while (true) {
            list.add(String.valueOf(i++).intern());
        }
    }
}
